package de.thwildau.tm.moses.avro.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.thwildau.tm.moses.avro.services.SchemaGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
@SuppressWarnings("all")
public class InternalSchemaParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_INT", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'null'", "'true'", "'false'", "'{'", "'}'", "','", "':'", "'['", "']'"
    };
    public static final int T__19=19;
    public static final int RULE_ID=6;
    public static final int RULE_STRING=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

    // delegates
    // delegators


        public InternalSchemaParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalSchemaParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
            this.state.ruleMemo = new HashMap[69+1];
             
             
        }
        

    public String[] getTokenNames() { return InternalSchemaParser.tokenNames; }
    public String getGrammarFileName() { return "../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g"; }


     
     	private SchemaGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(SchemaGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleAvroSchema"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:62:1: entryRuleAvroSchema : ruleAvroSchema EOF ;
    public final void entryRuleAvroSchema() throws RecognitionException {
        int entryRuleAvroSchema_StartIndex = input.index();
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:63:1: ( ruleAvroSchema EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:64:1: ruleAvroSchema EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaRule()); 
            }
            pushFollow(FOLLOW_ruleAvroSchema_in_entryRuleAvroSchema74);
            ruleAvroSchema();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleAvroSchema81); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 1, entryRuleAvroSchema_StartIndex); }
        }
        return ;
    }
    // $ANTLR end "entryRuleAvroSchema"


    // $ANTLR start "ruleAvroSchema"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:71:1: ruleAvroSchema : ( ( rule__AvroSchema__Group__0 ) ) ;
    public final void ruleAvroSchema() throws RecognitionException {
        int ruleAvroSchema_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:75:2: ( ( ( rule__AvroSchema__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:76:1: ( ( rule__AvroSchema__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:76:1: ( ( rule__AvroSchema__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:77:1: ( rule__AvroSchema__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getGroup()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:78:1: ( rule__AvroSchema__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:78:2: rule__AvroSchema__Group__0
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group__0_in_ruleAvroSchema107);
            rule__AvroSchema__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 2, ruleAvroSchema_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleAvroSchema"


    // $ANTLR start "entryRuleMember"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:90:1: entryRuleMember : ruleMember EOF ;
    public final void entryRuleMember() throws RecognitionException {
        int entryRuleMember_StartIndex = input.index();
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 3) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:91:1: ( ruleMember EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:92:1: ruleMember EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberRule()); 
            }
            pushFollow(FOLLOW_ruleMember_in_entryRuleMember134);
            ruleMember();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleMember141); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 3, entryRuleMember_StartIndex); }
        }
        return ;
    }
    // $ANTLR end "entryRuleMember"


    // $ANTLR start "ruleMember"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:99:1: ruleMember : ( ( rule__Member__Group__0 ) ) ;
    public final void ruleMember() throws RecognitionException {
        int ruleMember_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 4) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:103:2: ( ( ( rule__Member__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:104:1: ( ( rule__Member__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:104:1: ( ( rule__Member__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:105:1: ( rule__Member__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberAccess().getGroup()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:106:1: ( rule__Member__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:106:2: rule__Member__Group__0
            {
            pushFollow(FOLLOW_rule__Member__Group__0_in_ruleMember167);
            rule__Member__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 4, ruleMember_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMember"


    // $ANTLR start "entryRuleValue"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:118:1: entryRuleValue : ruleValue EOF ;
    public final void entryRuleValue() throws RecognitionException {
        int entryRuleValue_StartIndex = input.index();
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 5) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:119:1: ( ruleValue EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:120:1: ruleValue EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValueRule()); 
            }
            pushFollow(FOLLOW_ruleValue_in_entryRuleValue194);
            ruleValue();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getValueRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleValue201); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 5, entryRuleValue_StartIndex); }
        }
        return ;
    }
    // $ANTLR end "entryRuleValue"


    // $ANTLR start "ruleValue"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:127:1: ruleValue : ( ( rule__Value__Alternatives ) ) ;
    public final void ruleValue() throws RecognitionException {
        int ruleValue_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 6) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:131:2: ( ( ( rule__Value__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:132:1: ( ( rule__Value__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:132:1: ( ( rule__Value__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:133:1: ( rule__Value__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValueAccess().getAlternatives()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:134:1: ( rule__Value__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:134:2: rule__Value__Alternatives
            {
            pushFollow(FOLLOW_rule__Value__Alternatives_in_ruleValue227);
            rule__Value__Alternatives();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getValueAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 6, ruleValue_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleValue"


    // $ANTLR start "entryRuleArray"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:146:1: entryRuleArray : ruleArray EOF ;
    public final void entryRuleArray() throws RecognitionException {
        int entryRuleArray_StartIndex = input.index();
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 7) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:147:1: ( ruleArray EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:148:1: ruleArray EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayRule()); 
            }
            pushFollow(FOLLOW_ruleArray_in_entryRuleArray254);
            ruleArray();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleArray261); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 7, entryRuleArray_StartIndex); }
        }
        return ;
    }
    // $ANTLR end "entryRuleArray"


    // $ANTLR start "ruleArray"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:155:1: ruleArray : ( ( rule__Array__Group__0 ) ) ;
    public final void ruleArray() throws RecognitionException {
        int ruleArray_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 8) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:159:2: ( ( ( rule__Array__Group__0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:160:1: ( ( rule__Array__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:160:1: ( ( rule__Array__Group__0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:161:1: ( rule__Array__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getGroup()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:162:1: ( rule__Array__Group__0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:162:2: rule__Array__Group__0
            {
            pushFollow(FOLLOW_rule__Array__Group__0_in_ruleArray287);
            rule__Array__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getGroup()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 8, ruleArray_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleArray"


    // $ANTLR start "entryRuleBoolean"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:174:1: entryRuleBoolean : ruleBoolean EOF ;
    public final void entryRuleBoolean() throws RecognitionException {
        int entryRuleBoolean_StartIndex = input.index();
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 9) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:175:1: ( ruleBoolean EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:176:1: ruleBoolean EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanRule()); 
            }
            pushFollow(FOLLOW_ruleBoolean_in_entryRuleBoolean314);
            ruleBoolean();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleBoolean321); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 9, entryRuleBoolean_StartIndex); }
        }
        return ;
    }
    // $ANTLR end "entryRuleBoolean"


    // $ANTLR start "ruleBoolean"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:183:1: ruleBoolean : ( ( rule__Boolean__Alternatives ) ) ;
    public final void ruleBoolean() throws RecognitionException {
        int ruleBoolean_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 10) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:187:2: ( ( ( rule__Boolean__Alternatives ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:188:1: ( ( rule__Boolean__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:188:1: ( ( rule__Boolean__Alternatives ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:189:1: ( rule__Boolean__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getBooleanAccess().getAlternatives()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:190:1: ( rule__Boolean__Alternatives )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:190:2: rule__Boolean__Alternatives
            {
            pushFollow(FOLLOW_rule__Boolean__Alternatives_in_ruleBoolean347);
            rule__Boolean__Alternatives();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getBooleanAccess().getAlternatives()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 10, ruleBoolean_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBoolean"


    // $ANTLR start "entryRuleNull"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:202:1: entryRuleNull : ruleNull EOF ;
    public final void entryRuleNull() throws RecognitionException {
        int entryRuleNull_StartIndex = input.index();
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 11) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:203:1: ( ruleNull EOF )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:204:1: ruleNull EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNullRule()); 
            }
            pushFollow(FOLLOW_ruleNull_in_entryRuleNull374);
            ruleNull();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getNullRule()); 
            }
            match(input,EOF,FOLLOW_EOF_in_entryRuleNull381); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 11, entryRuleNull_StartIndex); }
        }
        return ;
    }
    // $ANTLR end "entryRuleNull"


    // $ANTLR start "ruleNull"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:211:1: ruleNull : ( 'null' ) ;
    public final void ruleNull() throws RecognitionException {
        int ruleNull_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 12) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:215:2: ( ( 'null' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:216:1: ( 'null' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:216:1: ( 'null' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:217:1: 'null'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getNullAccess().getNullKeyword()); 
            }
            match(input,11,FOLLOW_11_in_ruleNull408); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getNullAccess().getNullKeyword()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 12, ruleNull_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleNull"


    // $ANTLR start "rule__Value__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:232:1: rule__Value__Alternatives : ( ( ruleAvroSchema ) | ( ruleArray ) | ( ( rule__Value__Group_2__0 ) ) );
    public final void rule__Value__Alternatives() throws RecognitionException {
        int rule__Value__Alternatives_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 13) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:236:1: ( ( ruleAvroSchema ) | ( ruleArray ) | ( ( rule__Value__Group_2__0 ) ) )
            int alt1=3;
            switch ( input.LA(1) ) {
            case 14:
                {
                alt1=1;
                }
                break;
            case 18:
                {
                alt1=2;
                }
                break;
            case RULE_STRING:
            case RULE_INT:
            case 11:
            case 12:
            case 13:
                {
                alt1=3;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:237:1: ( ruleAvroSchema )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:237:1: ( ruleAvroSchema )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:238:1: ruleAvroSchema
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getAvroSchemaParserRuleCall_0()); 
                    }
                    pushFollow(FOLLOW_ruleAvroSchema_in_rule__Value__Alternatives445);
                    ruleAvroSchema();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getAvroSchemaParserRuleCall_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:243:6: ( ruleArray )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:243:6: ( ruleArray )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:244:1: ruleArray
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getArrayParserRuleCall_1()); 
                    }
                    pushFollow(FOLLOW_ruleArray_in_rule__Value__Alternatives462);
                    ruleArray();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getArrayParserRuleCall_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:249:6: ( ( rule__Value__Group_2__0 ) )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:249:6: ( ( rule__Value__Group_2__0 ) )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:250:1: ( rule__Value__Group_2__0 )
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getGroup_2()); 
                    }
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:251:1: ( rule__Value__Group_2__0 )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:251:2: rule__Value__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Value__Group_2__0_in_rule__Value__Alternatives479);
                    rule__Value__Group_2__0();

                    state._fsp--;
                    if (state.failed) return ;

                    }

                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getGroup_2()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 13, rule__Value__Alternatives_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Value__Alternatives"


    // $ANTLR start "rule__Value__Alternatives_2_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:260:1: rule__Value__Alternatives_2_1 : ( ( RULE_STRING ) | ( ruleBoolean ) | ( ruleNull ) | ( RULE_INT ) );
    public final void rule__Value__Alternatives_2_1() throws RecognitionException {
        int rule__Value__Alternatives_2_1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 14) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:264:1: ( ( RULE_STRING ) | ( ruleBoolean ) | ( ruleNull ) | ( RULE_INT ) )
            int alt2=4;
            switch ( input.LA(1) ) {
            case RULE_STRING:
                {
                alt2=1;
                }
                break;
            case 12:
            case 13:
                {
                alt2=2;
                }
                break;
            case 11:
                {
                alt2=3;
                }
                break;
            case RULE_INT:
                {
                alt2=4;
                }
                break;
            default:
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:265:1: ( RULE_STRING )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:265:1: ( RULE_STRING )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:266:1: RULE_STRING
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getSTRINGTerminalRuleCall_2_1_0()); 
                    }
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Value__Alternatives_2_1512); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getSTRINGTerminalRuleCall_2_1_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:271:6: ( ruleBoolean )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:271:6: ( ruleBoolean )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:272:1: ruleBoolean
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getBooleanParserRuleCall_2_1_1()); 
                    }
                    pushFollow(FOLLOW_ruleBoolean_in_rule__Value__Alternatives_2_1529);
                    ruleBoolean();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getBooleanParserRuleCall_2_1_1()); 
                    }

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:277:6: ( ruleNull )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:277:6: ( ruleNull )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:278:1: ruleNull
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getNullParserRuleCall_2_1_2()); 
                    }
                    pushFollow(FOLLOW_ruleNull_in_rule__Value__Alternatives_2_1546);
                    ruleNull();

                    state._fsp--;
                    if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getNullParserRuleCall_2_1_2()); 
                    }

                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:283:6: ( RULE_INT )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:283:6: ( RULE_INT )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:284:1: RULE_INT
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getValueAccess().getINTTerminalRuleCall_2_1_3()); 
                    }
                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Value__Alternatives_2_1563); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getValueAccess().getINTTerminalRuleCall_2_1_3()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 14, rule__Value__Alternatives_2_1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Value__Alternatives_2_1"


    // $ANTLR start "rule__Boolean__Alternatives"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:294:1: rule__Boolean__Alternatives : ( ( 'true' ) | ( 'false' ) );
    public final void rule__Boolean__Alternatives() throws RecognitionException {
        int rule__Boolean__Alternatives_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 15) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:298:1: ( ( 'true' ) | ( 'false' ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==12) ) {
                alt3=1;
            }
            else if ( (LA3_0==13) ) {
                alt3=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return ;}
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:299:1: ( 'true' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:299:1: ( 'true' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:300:1: 'true'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBooleanAccess().getTrueKeyword_0()); 
                    }
                    match(input,12,FOLLOW_12_in_rule__Boolean__Alternatives596); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBooleanAccess().getTrueKeyword_0()); 
                    }

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:307:6: ( 'false' )
                    {
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:307:6: ( 'false' )
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:308:1: 'false'
                    {
                    if ( state.backtracking==0 ) {
                       before(grammarAccess.getBooleanAccess().getFalseKeyword_1()); 
                    }
                    match(input,13,FOLLOW_13_in_rule__Boolean__Alternatives616); if (state.failed) return ;
                    if ( state.backtracking==0 ) {
                       after(grammarAccess.getBooleanAccess().getFalseKeyword_1()); 
                    }

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 15, rule__Boolean__Alternatives_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Boolean__Alternatives"


    // $ANTLR start "rule__AvroSchema__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:322:1: rule__AvroSchema__Group__0 : rule__AvroSchema__Group__0__Impl rule__AvroSchema__Group__1 ;
    public final void rule__AvroSchema__Group__0() throws RecognitionException {
        int rule__AvroSchema__Group__0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 16) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:326:1: ( rule__AvroSchema__Group__0__Impl rule__AvroSchema__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:327:2: rule__AvroSchema__Group__0__Impl rule__AvroSchema__Group__1
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group__0__Impl_in_rule__AvroSchema__Group__0648);
            rule__AvroSchema__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AvroSchema__Group__1_in_rule__AvroSchema__Group__0651);
            rule__AvroSchema__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 16, rule__AvroSchema__Group__0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__0"


    // $ANTLR start "rule__AvroSchema__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:334:1: rule__AvroSchema__Group__0__Impl : ( () ) ;
    public final void rule__AvroSchema__Group__0__Impl() throws RecognitionException {
        int rule__AvroSchema__Group__0__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 17) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:338:1: ( ( () ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:339:1: ( () )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:339:1: ( () )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:340:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getAvroSchemaAction_0()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:341:1: ()
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:343:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getAvroSchemaAction_0()); 
            }

            }


            }

        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 17, rule__AvroSchema__Group__0__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__0__Impl"


    // $ANTLR start "rule__AvroSchema__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:353:1: rule__AvroSchema__Group__1 : rule__AvroSchema__Group__1__Impl rule__AvroSchema__Group__2 ;
    public final void rule__AvroSchema__Group__1() throws RecognitionException {
        int rule__AvroSchema__Group__1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 18) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:357:1: ( rule__AvroSchema__Group__1__Impl rule__AvroSchema__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:358:2: rule__AvroSchema__Group__1__Impl rule__AvroSchema__Group__2
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group__1__Impl_in_rule__AvroSchema__Group__1709);
            rule__AvroSchema__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AvroSchema__Group__2_in_rule__AvroSchema__Group__1712);
            rule__AvroSchema__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 18, rule__AvroSchema__Group__1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__1"


    // $ANTLR start "rule__AvroSchema__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:365:1: rule__AvroSchema__Group__1__Impl : ( '{' ) ;
    public final void rule__AvroSchema__Group__1__Impl() throws RecognitionException {
        int rule__AvroSchema__Group__1__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 19) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:369:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:370:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:370:1: ( '{' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:371:1: '{'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getLeftCurlyBracketKeyword_1()); 
            }
            match(input,14,FOLLOW_14_in_rule__AvroSchema__Group__1__Impl740); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getLeftCurlyBracketKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 19, rule__AvroSchema__Group__1__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__1__Impl"


    // $ANTLR start "rule__AvroSchema__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:384:1: rule__AvroSchema__Group__2 : rule__AvroSchema__Group__2__Impl rule__AvroSchema__Group__3 ;
    public final void rule__AvroSchema__Group__2() throws RecognitionException {
        int rule__AvroSchema__Group__2_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 20) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:388:1: ( rule__AvroSchema__Group__2__Impl rule__AvroSchema__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:389:2: rule__AvroSchema__Group__2__Impl rule__AvroSchema__Group__3
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group__2__Impl_in_rule__AvroSchema__Group__2771);
            rule__AvroSchema__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AvroSchema__Group__3_in_rule__AvroSchema__Group__2774);
            rule__AvroSchema__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 20, rule__AvroSchema__Group__2_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__2"


    // $ANTLR start "rule__AvroSchema__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:396:1: rule__AvroSchema__Group__2__Impl : ( ( rule__AvroSchema__MembersAssignment_2 )? ) ;
    public final void rule__AvroSchema__Group__2__Impl() throws RecognitionException {
        int rule__AvroSchema__Group__2__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 21) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:400:1: ( ( ( rule__AvroSchema__MembersAssignment_2 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:401:1: ( ( rule__AvroSchema__MembersAssignment_2 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:401:1: ( ( rule__AvroSchema__MembersAssignment_2 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:402:1: ( rule__AvroSchema__MembersAssignment_2 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getMembersAssignment_2()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:403:1: ( rule__AvroSchema__MembersAssignment_2 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==RULE_STRING) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:403:2: rule__AvroSchema__MembersAssignment_2
                    {
                    pushFollow(FOLLOW_rule__AvroSchema__MembersAssignment_2_in_rule__AvroSchema__Group__2__Impl801);
                    rule__AvroSchema__MembersAssignment_2();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getMembersAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 21, rule__AvroSchema__Group__2__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__2__Impl"


    // $ANTLR start "rule__AvroSchema__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:413:1: rule__AvroSchema__Group__3 : rule__AvroSchema__Group__3__Impl rule__AvroSchema__Group__4 ;
    public final void rule__AvroSchema__Group__3() throws RecognitionException {
        int rule__AvroSchema__Group__3_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 22) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:417:1: ( rule__AvroSchema__Group__3__Impl rule__AvroSchema__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:418:2: rule__AvroSchema__Group__3__Impl rule__AvroSchema__Group__4
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group__3__Impl_in_rule__AvroSchema__Group__3832);
            rule__AvroSchema__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AvroSchema__Group__4_in_rule__AvroSchema__Group__3835);
            rule__AvroSchema__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 22, rule__AvroSchema__Group__3_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__3"


    // $ANTLR start "rule__AvroSchema__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:425:1: rule__AvroSchema__Group__3__Impl : ( ( rule__AvroSchema__Group_3__0 )* ) ;
    public final void rule__AvroSchema__Group__3__Impl() throws RecognitionException {
        int rule__AvroSchema__Group__3__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 23) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:429:1: ( ( ( rule__AvroSchema__Group_3__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:430:1: ( ( rule__AvroSchema__Group_3__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:430:1: ( ( rule__AvroSchema__Group_3__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:431:1: ( rule__AvroSchema__Group_3__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getGroup_3()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:432:1: ( rule__AvroSchema__Group_3__0 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==16) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:432:2: rule__AvroSchema__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__AvroSchema__Group_3__0_in_rule__AvroSchema__Group__3__Impl862);
            	    rule__AvroSchema__Group_3__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 23, rule__AvroSchema__Group__3__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__3__Impl"


    // $ANTLR start "rule__AvroSchema__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:442:1: rule__AvroSchema__Group__4 : rule__AvroSchema__Group__4__Impl ;
    public final void rule__AvroSchema__Group__4() throws RecognitionException {
        int rule__AvroSchema__Group__4_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 24) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:446:1: ( rule__AvroSchema__Group__4__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:447:2: rule__AvroSchema__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group__4__Impl_in_rule__AvroSchema__Group__4893);
            rule__AvroSchema__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 24, rule__AvroSchema__Group__4_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__4"


    // $ANTLR start "rule__AvroSchema__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:453:1: rule__AvroSchema__Group__4__Impl : ( '}' ) ;
    public final void rule__AvroSchema__Group__4__Impl() throws RecognitionException {
        int rule__AvroSchema__Group__4__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 25) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:457:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:458:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:458:1: ( '}' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:459:1: '}'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getRightCurlyBracketKeyword_4()); 
            }
            match(input,15,FOLLOW_15_in_rule__AvroSchema__Group__4__Impl921); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getRightCurlyBracketKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 25, rule__AvroSchema__Group__4__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group__4__Impl"


    // $ANTLR start "rule__AvroSchema__Group_3__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:482:1: rule__AvroSchema__Group_3__0 : rule__AvroSchema__Group_3__0__Impl rule__AvroSchema__Group_3__1 ;
    public final void rule__AvroSchema__Group_3__0() throws RecognitionException {
        int rule__AvroSchema__Group_3__0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 26) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:486:1: ( rule__AvroSchema__Group_3__0__Impl rule__AvroSchema__Group_3__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:487:2: rule__AvroSchema__Group_3__0__Impl rule__AvroSchema__Group_3__1
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group_3__0__Impl_in_rule__AvroSchema__Group_3__0962);
            rule__AvroSchema__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__AvroSchema__Group_3__1_in_rule__AvroSchema__Group_3__0965);
            rule__AvroSchema__Group_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 26, rule__AvroSchema__Group_3__0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group_3__0"


    // $ANTLR start "rule__AvroSchema__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:494:1: rule__AvroSchema__Group_3__0__Impl : ( ',' ) ;
    public final void rule__AvroSchema__Group_3__0__Impl() throws RecognitionException {
        int rule__AvroSchema__Group_3__0__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 27) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:498:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:499:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:499:1: ( ',' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:500:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getCommaKeyword_3_0()); 
            }
            match(input,16,FOLLOW_16_in_rule__AvroSchema__Group_3__0__Impl993); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getCommaKeyword_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 27, rule__AvroSchema__Group_3__0__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group_3__0__Impl"


    // $ANTLR start "rule__AvroSchema__Group_3__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:513:1: rule__AvroSchema__Group_3__1 : rule__AvroSchema__Group_3__1__Impl ;
    public final void rule__AvroSchema__Group_3__1() throws RecognitionException {
        int rule__AvroSchema__Group_3__1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 28) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:517:1: ( rule__AvroSchema__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:518:2: rule__AvroSchema__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__AvroSchema__Group_3__1__Impl_in_rule__AvroSchema__Group_3__11024);
            rule__AvroSchema__Group_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 28, rule__AvroSchema__Group_3__1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group_3__1"


    // $ANTLR start "rule__AvroSchema__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:524:1: rule__AvroSchema__Group_3__1__Impl : ( ( rule__AvroSchema__MembersAssignment_3_1 ) ) ;
    public final void rule__AvroSchema__Group_3__1__Impl() throws RecognitionException {
        int rule__AvroSchema__Group_3__1__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 29) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:528:1: ( ( ( rule__AvroSchema__MembersAssignment_3_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:529:1: ( ( rule__AvroSchema__MembersAssignment_3_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:529:1: ( ( rule__AvroSchema__MembersAssignment_3_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:530:1: ( rule__AvroSchema__MembersAssignment_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getMembersAssignment_3_1()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:531:1: ( rule__AvroSchema__MembersAssignment_3_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:531:2: rule__AvroSchema__MembersAssignment_3_1
            {
            pushFollow(FOLLOW_rule__AvroSchema__MembersAssignment_3_1_in_rule__AvroSchema__Group_3__1__Impl1051);
            rule__AvroSchema__MembersAssignment_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getMembersAssignment_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 29, rule__AvroSchema__Group_3__1__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__Group_3__1__Impl"


    // $ANTLR start "rule__Member__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:545:1: rule__Member__Group__0 : rule__Member__Group__0__Impl rule__Member__Group__1 ;
    public final void rule__Member__Group__0() throws RecognitionException {
        int rule__Member__Group__0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 30) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:549:1: ( rule__Member__Group__0__Impl rule__Member__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:550:2: rule__Member__Group__0__Impl rule__Member__Group__1
            {
            pushFollow(FOLLOW_rule__Member__Group__0__Impl_in_rule__Member__Group__01085);
            rule__Member__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Member__Group__1_in_rule__Member__Group__01088);
            rule__Member__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 30, rule__Member__Group__0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__Group__0"


    // $ANTLR start "rule__Member__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:557:1: rule__Member__Group__0__Impl : ( ( rule__Member__KeyAssignment_0 ) ) ;
    public final void rule__Member__Group__0__Impl() throws RecognitionException {
        int rule__Member__Group__0__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 31) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:561:1: ( ( ( rule__Member__KeyAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:562:1: ( ( rule__Member__KeyAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:562:1: ( ( rule__Member__KeyAssignment_0 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:563:1: ( rule__Member__KeyAssignment_0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberAccess().getKeyAssignment_0()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:564:1: ( rule__Member__KeyAssignment_0 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:564:2: rule__Member__KeyAssignment_0
            {
            pushFollow(FOLLOW_rule__Member__KeyAssignment_0_in_rule__Member__Group__0__Impl1115);
            rule__Member__KeyAssignment_0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberAccess().getKeyAssignment_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 31, rule__Member__Group__0__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__Group__0__Impl"


    // $ANTLR start "rule__Member__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:574:1: rule__Member__Group__1 : rule__Member__Group__1__Impl rule__Member__Group__2 ;
    public final void rule__Member__Group__1() throws RecognitionException {
        int rule__Member__Group__1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 32) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:578:1: ( rule__Member__Group__1__Impl rule__Member__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:579:2: rule__Member__Group__1__Impl rule__Member__Group__2
            {
            pushFollow(FOLLOW_rule__Member__Group__1__Impl_in_rule__Member__Group__11145);
            rule__Member__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Member__Group__2_in_rule__Member__Group__11148);
            rule__Member__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 32, rule__Member__Group__1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__Group__1"


    // $ANTLR start "rule__Member__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:586:1: rule__Member__Group__1__Impl : ( ':' ) ;
    public final void rule__Member__Group__1__Impl() throws RecognitionException {
        int rule__Member__Group__1__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 33) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:590:1: ( ( ':' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:591:1: ( ':' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:591:1: ( ':' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:592:1: ':'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberAccess().getColonKeyword_1()); 
            }
            match(input,17,FOLLOW_17_in_rule__Member__Group__1__Impl1176); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberAccess().getColonKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 33, rule__Member__Group__1__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__Group__1__Impl"


    // $ANTLR start "rule__Member__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:605:1: rule__Member__Group__2 : rule__Member__Group__2__Impl ;
    public final void rule__Member__Group__2() throws RecognitionException {
        int rule__Member__Group__2_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 34) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:609:1: ( rule__Member__Group__2__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:610:2: rule__Member__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Member__Group__2__Impl_in_rule__Member__Group__21207);
            rule__Member__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 34, rule__Member__Group__2_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__Group__2"


    // $ANTLR start "rule__Member__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:616:1: rule__Member__Group__2__Impl : ( ( rule__Member__ValueAssignment_2 ) ) ;
    public final void rule__Member__Group__2__Impl() throws RecognitionException {
        int rule__Member__Group__2__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 35) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:620:1: ( ( ( rule__Member__ValueAssignment_2 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:621:1: ( ( rule__Member__ValueAssignment_2 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:621:1: ( ( rule__Member__ValueAssignment_2 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:622:1: ( rule__Member__ValueAssignment_2 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberAccess().getValueAssignment_2()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:623:1: ( rule__Member__ValueAssignment_2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:623:2: rule__Member__ValueAssignment_2
            {
            pushFollow(FOLLOW_rule__Member__ValueAssignment_2_in_rule__Member__Group__2__Impl1234);
            rule__Member__ValueAssignment_2();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberAccess().getValueAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 35, rule__Member__Group__2__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__Group__2__Impl"


    // $ANTLR start "rule__Value__Group_2__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:639:1: rule__Value__Group_2__0 : rule__Value__Group_2__0__Impl rule__Value__Group_2__1 ;
    public final void rule__Value__Group_2__0() throws RecognitionException {
        int rule__Value__Group_2__0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 36) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:643:1: ( rule__Value__Group_2__0__Impl rule__Value__Group_2__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:644:2: rule__Value__Group_2__0__Impl rule__Value__Group_2__1
            {
            pushFollow(FOLLOW_rule__Value__Group_2__0__Impl_in_rule__Value__Group_2__01270);
            rule__Value__Group_2__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Value__Group_2__1_in_rule__Value__Group_2__01273);
            rule__Value__Group_2__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 36, rule__Value__Group_2__0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Value__Group_2__0"


    // $ANTLR start "rule__Value__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:651:1: rule__Value__Group_2__0__Impl : ( () ) ;
    public final void rule__Value__Group_2__0__Impl() throws RecognitionException {
        int rule__Value__Group_2__0__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 37) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:655:1: ( ( () ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:656:1: ( () )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:656:1: ( () )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:657:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValueAccess().getValueAction_2_0()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:658:1: ()
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:660:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getValueAccess().getValueAction_2_0()); 
            }

            }


            }

        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 37, rule__Value__Group_2__0__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Value__Group_2__0__Impl"


    // $ANTLR start "rule__Value__Group_2__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:670:1: rule__Value__Group_2__1 : rule__Value__Group_2__1__Impl ;
    public final void rule__Value__Group_2__1() throws RecognitionException {
        int rule__Value__Group_2__1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 38) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:674:1: ( rule__Value__Group_2__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:675:2: rule__Value__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__Value__Group_2__1__Impl_in_rule__Value__Group_2__11331);
            rule__Value__Group_2__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 38, rule__Value__Group_2__1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Value__Group_2__1"


    // $ANTLR start "rule__Value__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:681:1: rule__Value__Group_2__1__Impl : ( ( rule__Value__Alternatives_2_1 ) ) ;
    public final void rule__Value__Group_2__1__Impl() throws RecognitionException {
        int rule__Value__Group_2__1__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 39) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:685:1: ( ( ( rule__Value__Alternatives_2_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:686:1: ( ( rule__Value__Alternatives_2_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:686:1: ( ( rule__Value__Alternatives_2_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:687:1: ( rule__Value__Alternatives_2_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getValueAccess().getAlternatives_2_1()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:688:1: ( rule__Value__Alternatives_2_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:688:2: rule__Value__Alternatives_2_1
            {
            pushFollow(FOLLOW_rule__Value__Alternatives_2_1_in_rule__Value__Group_2__1__Impl1358);
            rule__Value__Alternatives_2_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getValueAccess().getAlternatives_2_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 39, rule__Value__Group_2__1__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Value__Group_2__1__Impl"


    // $ANTLR start "rule__Array__Group__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:702:1: rule__Array__Group__0 : rule__Array__Group__0__Impl rule__Array__Group__1 ;
    public final void rule__Array__Group__0() throws RecognitionException {
        int rule__Array__Group__0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 40) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:706:1: ( rule__Array__Group__0__Impl rule__Array__Group__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:707:2: rule__Array__Group__0__Impl rule__Array__Group__1
            {
            pushFollow(FOLLOW_rule__Array__Group__0__Impl_in_rule__Array__Group__01392);
            rule__Array__Group__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Array__Group__1_in_rule__Array__Group__01395);
            rule__Array__Group__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 40, rule__Array__Group__0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__0"


    // $ANTLR start "rule__Array__Group__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:714:1: rule__Array__Group__0__Impl : ( () ) ;
    public final void rule__Array__Group__0__Impl() throws RecognitionException {
        int rule__Array__Group__0__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 41) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:718:1: ( ( () ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:719:1: ( () )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:719:1: ( () )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:720:1: ()
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getArrayAction_0()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:721:1: ()
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:723:1: 
            {
            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getArrayAction_0()); 
            }

            }


            }

        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 41, rule__Array__Group__0__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__0__Impl"


    // $ANTLR start "rule__Array__Group__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:733:1: rule__Array__Group__1 : rule__Array__Group__1__Impl rule__Array__Group__2 ;
    public final void rule__Array__Group__1() throws RecognitionException {
        int rule__Array__Group__1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:737:1: ( rule__Array__Group__1__Impl rule__Array__Group__2 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:738:2: rule__Array__Group__1__Impl rule__Array__Group__2
            {
            pushFollow(FOLLOW_rule__Array__Group__1__Impl_in_rule__Array__Group__11453);
            rule__Array__Group__1__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Array__Group__2_in_rule__Array__Group__11456);
            rule__Array__Group__2();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 42, rule__Array__Group__1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__1"


    // $ANTLR start "rule__Array__Group__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:745:1: rule__Array__Group__1__Impl : ( '[' ) ;
    public final void rule__Array__Group__1__Impl() throws RecognitionException {
        int rule__Array__Group__1__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 43) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:749:1: ( ( '[' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:750:1: ( '[' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:750:1: ( '[' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:751:1: '['
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getLeftSquareBracketKeyword_1()); 
            }
            match(input,18,FOLLOW_18_in_rule__Array__Group__1__Impl1484); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getLeftSquareBracketKeyword_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 43, rule__Array__Group__1__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__1__Impl"


    // $ANTLR start "rule__Array__Group__2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:764:1: rule__Array__Group__2 : rule__Array__Group__2__Impl rule__Array__Group__3 ;
    public final void rule__Array__Group__2() throws RecognitionException {
        int rule__Array__Group__2_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 44) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:768:1: ( rule__Array__Group__2__Impl rule__Array__Group__3 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:769:2: rule__Array__Group__2__Impl rule__Array__Group__3
            {
            pushFollow(FOLLOW_rule__Array__Group__2__Impl_in_rule__Array__Group__21515);
            rule__Array__Group__2__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Array__Group__3_in_rule__Array__Group__21518);
            rule__Array__Group__3();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 44, rule__Array__Group__2_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__2"


    // $ANTLR start "rule__Array__Group__2__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:776:1: rule__Array__Group__2__Impl : ( ( rule__Array__ValuesAssignment_2 )? ) ;
    public final void rule__Array__Group__2__Impl() throws RecognitionException {
        int rule__Array__Group__2__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 45) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:780:1: ( ( ( rule__Array__ValuesAssignment_2 )? ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:781:1: ( ( rule__Array__ValuesAssignment_2 )? )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:781:1: ( ( rule__Array__ValuesAssignment_2 )? )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:782:1: ( rule__Array__ValuesAssignment_2 )?
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getValuesAssignment_2()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:783:1: ( rule__Array__ValuesAssignment_2 )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( ((LA6_0>=RULE_STRING && LA6_0<=RULE_INT)||(LA6_0>=11 && LA6_0<=14)||LA6_0==18) ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:783:2: rule__Array__ValuesAssignment_2
                    {
                    pushFollow(FOLLOW_rule__Array__ValuesAssignment_2_in_rule__Array__Group__2__Impl1545);
                    rule__Array__ValuesAssignment_2();

                    state._fsp--;
                    if (state.failed) return ;

                    }
                    break;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getValuesAssignment_2()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 45, rule__Array__Group__2__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__2__Impl"


    // $ANTLR start "rule__Array__Group__3"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:793:1: rule__Array__Group__3 : rule__Array__Group__3__Impl rule__Array__Group__4 ;
    public final void rule__Array__Group__3() throws RecognitionException {
        int rule__Array__Group__3_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 46) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:797:1: ( rule__Array__Group__3__Impl rule__Array__Group__4 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:798:2: rule__Array__Group__3__Impl rule__Array__Group__4
            {
            pushFollow(FOLLOW_rule__Array__Group__3__Impl_in_rule__Array__Group__31576);
            rule__Array__Group__3__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Array__Group__4_in_rule__Array__Group__31579);
            rule__Array__Group__4();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 46, rule__Array__Group__3_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__3"


    // $ANTLR start "rule__Array__Group__3__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:805:1: rule__Array__Group__3__Impl : ( ( rule__Array__Group_3__0 )* ) ;
    public final void rule__Array__Group__3__Impl() throws RecognitionException {
        int rule__Array__Group__3__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 47) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:809:1: ( ( ( rule__Array__Group_3__0 )* ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:810:1: ( ( rule__Array__Group_3__0 )* )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:810:1: ( ( rule__Array__Group_3__0 )* )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:811:1: ( rule__Array__Group_3__0 )*
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getGroup_3()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:812:1: ( rule__Array__Group_3__0 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==16) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:812:2: rule__Array__Group_3__0
            	    {
            	    pushFollow(FOLLOW_rule__Array__Group_3__0_in_rule__Array__Group__3__Impl1606);
            	    rule__Array__Group_3__0();

            	    state._fsp--;
            	    if (state.failed) return ;

            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getGroup_3()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 47, rule__Array__Group__3__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__3__Impl"


    // $ANTLR start "rule__Array__Group__4"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:822:1: rule__Array__Group__4 : rule__Array__Group__4__Impl ;
    public final void rule__Array__Group__4() throws RecognitionException {
        int rule__Array__Group__4_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 48) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:826:1: ( rule__Array__Group__4__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:827:2: rule__Array__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Array__Group__4__Impl_in_rule__Array__Group__41637);
            rule__Array__Group__4__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 48, rule__Array__Group__4_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__4"


    // $ANTLR start "rule__Array__Group__4__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:833:1: rule__Array__Group__4__Impl : ( ']' ) ;
    public final void rule__Array__Group__4__Impl() throws RecognitionException {
        int rule__Array__Group__4__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 49) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:837:1: ( ( ']' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:838:1: ( ']' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:838:1: ( ']' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:839:1: ']'
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getRightSquareBracketKeyword_4()); 
            }
            match(input,19,FOLLOW_19_in_rule__Array__Group__4__Impl1665); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getRightSquareBracketKeyword_4()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 49, rule__Array__Group__4__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group__4__Impl"


    // $ANTLR start "rule__Array__Group_3__0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:862:1: rule__Array__Group_3__0 : rule__Array__Group_3__0__Impl rule__Array__Group_3__1 ;
    public final void rule__Array__Group_3__0() throws RecognitionException {
        int rule__Array__Group_3__0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 50) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:866:1: ( rule__Array__Group_3__0__Impl rule__Array__Group_3__1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:867:2: rule__Array__Group_3__0__Impl rule__Array__Group_3__1
            {
            pushFollow(FOLLOW_rule__Array__Group_3__0__Impl_in_rule__Array__Group_3__01706);
            rule__Array__Group_3__0__Impl();

            state._fsp--;
            if (state.failed) return ;
            pushFollow(FOLLOW_rule__Array__Group_3__1_in_rule__Array__Group_3__01709);
            rule__Array__Group_3__1();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 50, rule__Array__Group_3__0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group_3__0"


    // $ANTLR start "rule__Array__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:874:1: rule__Array__Group_3__0__Impl : ( ',' ) ;
    public final void rule__Array__Group_3__0__Impl() throws RecognitionException {
        int rule__Array__Group_3__0__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 51) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:878:1: ( ( ',' ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:879:1: ( ',' )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:879:1: ( ',' )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:880:1: ','
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getCommaKeyword_3_0()); 
            }
            match(input,16,FOLLOW_16_in_rule__Array__Group_3__0__Impl1737); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getCommaKeyword_3_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 51, rule__Array__Group_3__0__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group_3__0__Impl"


    // $ANTLR start "rule__Array__Group_3__1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:893:1: rule__Array__Group_3__1 : rule__Array__Group_3__1__Impl ;
    public final void rule__Array__Group_3__1() throws RecognitionException {
        int rule__Array__Group_3__1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 52) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:897:1: ( rule__Array__Group_3__1__Impl )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:898:2: rule__Array__Group_3__1__Impl
            {
            pushFollow(FOLLOW_rule__Array__Group_3__1__Impl_in_rule__Array__Group_3__11768);
            rule__Array__Group_3__1__Impl();

            state._fsp--;
            if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 52, rule__Array__Group_3__1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group_3__1"


    // $ANTLR start "rule__Array__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:904:1: rule__Array__Group_3__1__Impl : ( ( rule__Array__ValuesAssignment_3_1 ) ) ;
    public final void rule__Array__Group_3__1__Impl() throws RecognitionException {
        int rule__Array__Group_3__1__Impl_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 53) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:908:1: ( ( ( rule__Array__ValuesAssignment_3_1 ) ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:909:1: ( ( rule__Array__ValuesAssignment_3_1 ) )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:909:1: ( ( rule__Array__ValuesAssignment_3_1 ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:910:1: ( rule__Array__ValuesAssignment_3_1 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getValuesAssignment_3_1()); 
            }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:911:1: ( rule__Array__ValuesAssignment_3_1 )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:911:2: rule__Array__ValuesAssignment_3_1
            {
            pushFollow(FOLLOW_rule__Array__ValuesAssignment_3_1_in_rule__Array__Group_3__1__Impl1795);
            rule__Array__ValuesAssignment_3_1();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getValuesAssignment_3_1()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 53, rule__Array__Group_3__1__Impl_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__Group_3__1__Impl"


    // $ANTLR start "rule__AvroSchema__MembersAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:926:1: rule__AvroSchema__MembersAssignment_2 : ( ruleMember ) ;
    public final void rule__AvroSchema__MembersAssignment_2() throws RecognitionException {
        int rule__AvroSchema__MembersAssignment_2_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 54) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:930:1: ( ( ruleMember ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:931:1: ( ruleMember )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:931:1: ( ruleMember )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:932:1: ruleMember
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getMembersMemberParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleMember_in_rule__AvroSchema__MembersAssignment_21834);
            ruleMember();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getMembersMemberParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 54, rule__AvroSchema__MembersAssignment_2_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__MembersAssignment_2"


    // $ANTLR start "rule__AvroSchema__MembersAssignment_3_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:941:1: rule__AvroSchema__MembersAssignment_3_1 : ( ruleMember ) ;
    public final void rule__AvroSchema__MembersAssignment_3_1() throws RecognitionException {
        int rule__AvroSchema__MembersAssignment_3_1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 55) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:945:1: ( ( ruleMember ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:946:1: ( ruleMember )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:946:1: ( ruleMember )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:947:1: ruleMember
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getAvroSchemaAccess().getMembersMemberParserRuleCall_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleMember_in_rule__AvroSchema__MembersAssignment_3_11865);
            ruleMember();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getAvroSchemaAccess().getMembersMemberParserRuleCall_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 55, rule__AvroSchema__MembersAssignment_3_1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__AvroSchema__MembersAssignment_3_1"


    // $ANTLR start "rule__Member__KeyAssignment_0"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:956:1: rule__Member__KeyAssignment_0 : ( RULE_STRING ) ;
    public final void rule__Member__KeyAssignment_0() throws RecognitionException {
        int rule__Member__KeyAssignment_0_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 56) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:960:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:961:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:961:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:962:1: RULE_STRING
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberAccess().getKeySTRINGTerminalRuleCall_0_0()); 
            }
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Member__KeyAssignment_01896); if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberAccess().getKeySTRINGTerminalRuleCall_0_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 56, rule__Member__KeyAssignment_0_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__KeyAssignment_0"


    // $ANTLR start "rule__Member__ValueAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:971:1: rule__Member__ValueAssignment_2 : ( ruleValue ) ;
    public final void rule__Member__ValueAssignment_2() throws RecognitionException {
        int rule__Member__ValueAssignment_2_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 57) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:975:1: ( ( ruleValue ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:976:1: ( ruleValue )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:976:1: ( ruleValue )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:977:1: ruleValue
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getMemberAccess().getValueValueParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleValue_in_rule__Member__ValueAssignment_21927);
            ruleValue();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getMemberAccess().getValueValueParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 57, rule__Member__ValueAssignment_2_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Member__ValueAssignment_2"


    // $ANTLR start "rule__Array__ValuesAssignment_2"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:986:1: rule__Array__ValuesAssignment_2 : ( ruleValue ) ;
    public final void rule__Array__ValuesAssignment_2() throws RecognitionException {
        int rule__Array__ValuesAssignment_2_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 58) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:990:1: ( ( ruleValue ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:991:1: ( ruleValue )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:991:1: ( ruleValue )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:992:1: ruleValue
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getValuesValueParserRuleCall_2_0()); 
            }
            pushFollow(FOLLOW_ruleValue_in_rule__Array__ValuesAssignment_21958);
            ruleValue();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getValuesValueParserRuleCall_2_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 58, rule__Array__ValuesAssignment_2_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__ValuesAssignment_2"


    // $ANTLR start "rule__Array__ValuesAssignment_3_1"
    // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:1001:1: rule__Array__ValuesAssignment_3_1 : ( ruleValue ) ;
    public final void rule__Array__ValuesAssignment_3_1() throws RecognitionException {
        int rule__Array__ValuesAssignment_3_1_StartIndex = input.index();

        		int stackSize = keepStackSize();
            
        try {
            if ( state.backtracking>0 && alreadyParsedRule(input, 59) ) { return ; }
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:1005:1: ( ( ruleValue ) )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:1006:1: ( ruleValue )
            {
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:1006:1: ( ruleValue )
            // ../de.thwildau.tm.moses.avro.ui/src-gen/de/thwildau/tm/moses/avro/ui/contentassist/antlr/internal/InternalSchema.g:1007:1: ruleValue
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getArrayAccess().getValuesValueParserRuleCall_3_1_0()); 
            }
            pushFollow(FOLLOW_ruleValue_in_rule__Array__ValuesAssignment_3_11989);
            ruleValue();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getArrayAccess().getValuesValueParserRuleCall_3_1_0()); 
            }

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
            if ( state.backtracking>0 ) { memoize(input, 59, rule__Array__ValuesAssignment_3_1_StartIndex); }

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Array__ValuesAssignment_3_1"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleAvroSchema_in_entryRuleAvroSchema74 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAvroSchema81 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__0_in_ruleAvroSchema107 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMember_in_entryRuleMember134 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMember141 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Member__Group__0_in_ruleMember167 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValue_in_entryRuleValue194 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleValue201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Value__Alternatives_in_ruleValue227 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArray_in_entryRuleArray254 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleArray261 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group__0_in_ruleArray287 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolean_in_entryRuleBoolean314 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBoolean321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Boolean__Alternatives_in_ruleBoolean347 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNull_in_entryRuleNull374 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNull381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleNull408 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAvroSchema_in_rule__Value__Alternatives445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleArray_in_rule__Value__Alternatives462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Value__Group_2__0_in_rule__Value__Alternatives479 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Value__Alternatives_2_1512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolean_in_rule__Value__Alternatives_2_1529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNull_in_rule__Value__Alternatives_2_1546 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Value__Alternatives_2_1563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Boolean__Alternatives596 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Boolean__Alternatives616 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__0__Impl_in_rule__AvroSchema__Group__0648 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__1_in_rule__AvroSchema__Group__0651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__1__Impl_in_rule__AvroSchema__Group__1709 = new BitSet(new long[]{0x0000000000018010L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__2_in_rule__AvroSchema__Group__1712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__AvroSchema__Group__1__Impl740 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__2__Impl_in_rule__AvroSchema__Group__2771 = new BitSet(new long[]{0x0000000000018010L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__3_in_rule__AvroSchema__Group__2774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__MembersAssignment_2_in_rule__AvroSchema__Group__2__Impl801 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__3__Impl_in_rule__AvroSchema__Group__3832 = new BitSet(new long[]{0x0000000000018010L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__4_in_rule__AvroSchema__Group__3835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group_3__0_in_rule__AvroSchema__Group__3__Impl862 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group__4__Impl_in_rule__AvroSchema__Group__4893 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__AvroSchema__Group__4__Impl921 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group_3__0__Impl_in_rule__AvroSchema__Group_3__0962 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group_3__1_in_rule__AvroSchema__Group_3__0965 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__AvroSchema__Group_3__0__Impl993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__Group_3__1__Impl_in_rule__AvroSchema__Group_3__11024 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__AvroSchema__MembersAssignment_3_1_in_rule__AvroSchema__Group_3__1__Impl1051 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Member__Group__0__Impl_in_rule__Member__Group__01085 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__Member__Group__1_in_rule__Member__Group__01088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Member__KeyAssignment_0_in_rule__Member__Group__0__Impl1115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Member__Group__1__Impl_in_rule__Member__Group__11145 = new BitSet(new long[]{0x0000000000047830L});
    public static final BitSet FOLLOW_rule__Member__Group__2_in_rule__Member__Group__11148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Member__Group__1__Impl1176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Member__Group__2__Impl_in_rule__Member__Group__21207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Member__ValueAssignment_2_in_rule__Member__Group__2__Impl1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Value__Group_2__0__Impl_in_rule__Value__Group_2__01270 = new BitSet(new long[]{0x0000000000047830L});
    public static final BitSet FOLLOW_rule__Value__Group_2__1_in_rule__Value__Group_2__01273 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Value__Group_2__1__Impl_in_rule__Value__Group_2__11331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Value__Alternatives_2_1_in_rule__Value__Group_2__1__Impl1358 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group__0__Impl_in_rule__Array__Group__01392 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Array__Group__1_in_rule__Array__Group__01395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group__1__Impl_in_rule__Array__Group__11453 = new BitSet(new long[]{0x00000000000D7830L});
    public static final BitSet FOLLOW_rule__Array__Group__2_in_rule__Array__Group__11456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Array__Group__1__Impl1484 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group__2__Impl_in_rule__Array__Group__21515 = new BitSet(new long[]{0x00000000000D7830L});
    public static final BitSet FOLLOW_rule__Array__Group__3_in_rule__Array__Group__21518 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__ValuesAssignment_2_in_rule__Array__Group__2__Impl1545 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group__3__Impl_in_rule__Array__Group__31576 = new BitSet(new long[]{0x00000000000D7830L});
    public static final BitSet FOLLOW_rule__Array__Group__4_in_rule__Array__Group__31579 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group_3__0_in_rule__Array__Group__3__Impl1606 = new BitSet(new long[]{0x0000000000010002L});
    public static final BitSet FOLLOW_rule__Array__Group__4__Impl_in_rule__Array__Group__41637 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Array__Group__4__Impl1665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group_3__0__Impl_in_rule__Array__Group_3__01706 = new BitSet(new long[]{0x0000000000047830L});
    public static final BitSet FOLLOW_rule__Array__Group_3__1_in_rule__Array__Group_3__01709 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Array__Group_3__0__Impl1737 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__Group_3__1__Impl_in_rule__Array__Group_3__11768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Array__ValuesAssignment_3_1_in_rule__Array__Group_3__1__Impl1795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMember_in_rule__AvroSchema__MembersAssignment_21834 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMember_in_rule__AvroSchema__MembersAssignment_3_11865 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Member__KeyAssignment_01896 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValue_in_rule__Member__ValueAssignment_21927 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValue_in_rule__Array__ValuesAssignment_21958 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleValue_in_rule__Array__ValuesAssignment_3_11989 = new BitSet(new long[]{0x0000000000000002L});

}